/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package WS;

import Mensajes.NuevaOrdenDeServicio;
import Mensajes.NuevoRegistroDePaciente;
import consolidado.WsHL7V25Recepcion;
import consolidado.WsHL7V25RecepcionExecute;
import consolidado.WsHL7V25RecepcionExecuteResponse;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.xml.ws.WebServiceRef;

/**
 *
 * @author Lino
 */
@WebService(serviceName = "WSBridge")
public class WSBridge {
    @WebServiceRef(wsdlLocation = "WEB-INF/wsdl/200.40.252.214_8080/geosalud_femisd/servlet/awshl7v25_recepcion.wsdl")
    private WsHL7V25Recepcion service;

    
     @WebMethod(operationName = "NuevoRegistroDePaciente")
    public String NuevoRegistroDePaciente(@WebParam(name = "id") String id, 
    @WebParam(name = "id1") String id1, //CI
    @WebParam(name = "id2") String id2, //NULL
    @WebParam(name = "id3") String id3, //NULL
    @WebParam(name = "primerApellido") String primerApellido, 
    @WebParam(name = "segundoApellido") String segundoApellido, 
    @WebParam(name = "primerNombre") String primerNombre, 
    @WebParam(name = "segundoNombre") String segundoNombre, 
    @WebParam(name = "fechaDeNacimiento") String fechaDeNacimiento, //INGRESAR ALGO DEL ESTILO 14/05/2012
    @WebParam(name = "sexo") String sexo,//M O F 
    @WebParam(name = "raza") String raza, //C
    @WebParam(name = "calle") String calle, 
    @WebParam(name = "numero_Direccion") String numero_Direccion, 
    @WebParam(name = "apto") String apto, 
    @WebParam(name = "ciudad") String ciudad, 
    @WebParam(name = "departamento") String departamento, 
    @WebParam(name = "codigoPostal") String codigoPostal, 
    @WebParam(name = "pais") String pais, 
    @WebParam(name = "telefonoFijo") String telefonoFijo, 
    @WebParam(name = "celular") String celular, 
    @WebParam(name = "mail") String mail, 
    @WebParam(name = "lenguaNativa") String lenguaNativa, //ES
    @WebParam(name = "estadoCivil") String estadoCivil) {//S
      
         NuevoRegistroDePaciente n=new NuevoRegistroDePaciente(id, id1, id2, id3, primerApellido, segundoApellido, primerNombre, segundoNombre, fechaDeNacimiento, sexo, raza, calle, numero_Direccion, apto, ciudad, departamento, codigoPostal, pais, telefonoFijo, celular, mail, lenguaNativa, estadoCivil);
     
     try {
	consolidado.WsHL7V25Recepcion service = new consolidado.WsHL7V25Recepcion();
        
	consolidado.WsHL7V25RecepcionSoapPort port = service.getWsHL7V25RecepcionSoapPort();
	
	consolidado.WsHL7V25RecepcionExecute parameters = new WsHL7V25RecepcionExecute();
       
                parameters.setInhl7(n.Mensaje());

	consolidado.WsHL7V25RecepcionExecuteResponse result = port.execute(parameters);
	return result.getOuthl7();
       
    } catch (Exception ex) {
	return ex.getMessage();
    }
        
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "NuevaOrdenDeServicio")
    public String NuevaOrdenDeServicio(@WebParam(name = "FechaYHoraDelMensaje") String FechaYHoraDelMensaje,
    @WebParam(name = "Id") String Id, 
    @WebParam(name = "oId") String oId, 
    @WebParam(name = "PrimerApellido") String PrimerApellido, 
    @WebParam(name = "SegundoApellido") String SegundoApellido, 
    @WebParam(name = "PrimerNombre") String PrimerNombre, 
    @WebParam(name = "SegundoNombre") String SegundoNombre, 
    @WebParam(name = "FechaDeNacimiento") String FechaDeNacimiento, 
    @WebParam(name = "Sexo") String Sexo, 
    @WebParam(name = "claseDelPaciente") String claseDelPaciente, 
    @WebParam(name = "sector") String sector, 
    @WebParam(name = "subSector") String subSector, 
    @WebParam(name = "lugar") String lugar, 
    @WebParam(name = "lugarEspecifico") String lugarEspecifico, 
    @WebParam(name = "prestador") String prestador, 
    @WebParam(name = "sucursal") String sucursal, 
    @WebParam(name = "piso") String piso, 
    @WebParam(name = "tipoDeOrden") String tipoDeOrden, 
    @WebParam(name = "codigoDeLaOrden") String codigoDeLaOrden, 
    @WebParam(name = "oidDocumento") String oidDocumento, 
    @WebParam(name = "numeroDeDocumento") String numeroDeDocumento, 
    @WebParam(name = "apellido") String apellido, 
    @WebParam(name = "nombre") String nombre, 
    @WebParam(name = "idDelActoAsistencial") String idDelActoAsistencial, 
    @WebParam(name = "descripcionDelActoAsistencial") String descripcionDelActoAsistencial, 
    @WebParam(name = "fechaDeAgendado") String fechaDeAgendado, 
    @WebParam(name = "observaciones") String observaciones, 
    @WebParam(name = "prestadorOrigenOid") String prestadorOrigenOid, 
    @WebParam(name = "prestadorOrigenNombre") String prestadorOrigenNombre) {
        //TODO write your implementation code here:
        
      NuevaOrdenDeServicio OS=new NuevaOrdenDeServicio(claseDelPaciente, sector, subSector, lugar, lugarEspecifico, prestador, sucursal, piso, tipoDeOrden, codigoDeLaOrden, oidDocumento, numeroDeDocumento, apellido, nombre, idDelActoAsistencial, descripcionDelActoAsistencial, fechaDeAgendado, observaciones, prestadorOrigenOid, prestadorOrigenNombre); 
OS.setFechaYHoraDelMensaje(FechaYHoraDelMensaje);
OS.setId(Id);
OS.setoId(oId);
OS.setPrimerApellido(PrimerApellido);
OS.setPrimerNombre(PrimerNombre);
OS.setSegundoApellido(SegundoApellido);
OS.setSegundoNombre(SegundoNombre);
OS.setFechaDeNacimiento(FechaDeNacimiento);
OS.setSexo(Sexo);
OS.setObservaciones(observaciones);


      try {
	consolidado.WsHL7V25Recepcion service = new consolidado.WsHL7V25Recepcion();
        
	consolidado.WsHL7V25RecepcionSoapPort port = service.getWsHL7V25RecepcionSoapPort();
	
	consolidado.WsHL7V25RecepcionExecute parameters = new WsHL7V25RecepcionExecute();
       
                parameters.setInhl7(OS.Mensaje());

	consolidado.WsHL7V25RecepcionExecuteResponse result = port.execute(parameters);
	return result.getOuthl7();
       
    } catch (Exception ex) {
	return ex.getMessage();
    }   
     
    }


    

  
    
    
    
}
